package com.taxshare.seller.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.taxshare.mybatis.entity.BaseEntity;
import com.taxshare.seller.constant.table.TableConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @author YANG
 * @ClassName: AlsDocumentEntity
 * @Description:
 * @date 2021-06-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(TableConstant.T_SELLER_ALS_DOCUMENT)
@ApiModel(description = "明源商管单据表")
public class AlsDocumentEntity extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId("uuid")
    private String uuid;

    @ApiModelProperty("单据ID")
    @TableField("doc_id")
    private String docId;

    @ApiModelProperty("应收/实收标识（01-应收，02-实收）")
    @TableField("doc_type")
    private String docType;

    @ApiModelProperty("发票类型(电票、普票、专票)（004 专票 007 普票  026 电子发票）")
    @TableField("invoice_type")
    private String invoiceType;

    @ApiModelProperty("购方名称")
    @TableField("purchaser_name")
    private String purchaserName;

    @ApiModelProperty("购方税号")
    @TableField("purchaser_tax_no")
    private String purchaserTaxNo;

    @ApiModelProperty("购方地址、电话")
    @TableField("purchaser_tel_address")
    private String purchaserTelAddress;

    @ApiModelProperty("购方开户行及账号")
    @TableField("purchaser_bank")
    private String purchaserBank;

    @ApiModelProperty("销方名称")
    @TableField("seller_name")
    private String sellerName;

    @ApiModelProperty("销方税号")
    @TableField("seller_tax_no")
    private String sellerTaxNo;

    @ApiModelProperty("销方地址、电话")
    @TableField("seller_tel_address")
    private String sellerTelAddress;

    @ApiModelProperty("销方开户行及账号")
    @TableField("seller_bank")
    private String sellerBank;

    @ApiModelProperty("金额")
    @TableField("amount_without_tax")
    private Double amountWithoutTax;

    @ApiModelProperty("税额")
    @TableField("tax_amount")
    private Double taxAmount;

    @ApiModelProperty("不含税金额")
    @TableField("amount_with_tax")
    private Double amountWithTax;

    @ApiModelProperty("收款人")
    @TableField("receiver")
    private String receiver;

    @ApiModelProperty("复核人")
    @TableField("auditor")
    private String auditor;

    @ApiModelProperty("开票人")
    @TableField("invoicer")
    private String invoicer;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("电子邮箱（电票需要填）")
    @TableField("email")
    private String email;

    @ApiModelProperty("手机号码（电票需要填）")
    @TableField("mobile")
    private String mobile;

    @ApiModelProperty("驳回理由")
    @TableField("cancel_reason")
    private String cancelReason;

    @ApiModelProperty("驳回状态（0 正常 1 已驳回）")
    @TableField("cancel_status")
    private String cancelStatus;
}